package com.example.springmvcdemo;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@RequestMapping("/responseGet")
@Controller
public class ResponseGet {
    //返回一个 JSON
    @ResponseBody
    @RequestMapping("/getJSON")
    public UserInfo getJSON(){
        UserInfo userInfo = new UserInfo("zhangsan",23,"213143");
        return userInfo;
    }

    //返回一个表单(这里的表单形式也是一个字符串,只是格式是html格式)
    @ResponseBody
    @RequestMapping("/index1")
    public String index1(){
        return "<h1>这是一个标题</h1>";
    }

    //响应一个网页
    @RequestMapping("/index2")
    public String index2(){
        return "/index.html";
    }


    //设置一个状态码
    //状态码是一个响应,所以需要返回一个 response
    //虽然设置了状态码,但是页面不会直接显示状态码,会显示返回的数据
    //但是经过抓包,响应的状态码就是设置的状态码
    @RequestMapping("/setStatus")
    @ResponseBody
    public String setStatus(HttpServletResponse response){
        response.setStatus(404);
        return "设置状态码成功";
    }

}
